1. Field of the Invention
The present invention relates to telecommunication systems and, particularly, to a system and method for sending messages from an application to signaling entities and, for particular embodiments, the sending of APDUs between H.323/H.450 endpoints.
2. Description of the Related Art
The Abstract Syntax Notation One (ASN.1), described in the International Telecommunications Union (ITU) X.680 and X.691 specifications, defines a data structure protocol for describing messages to be exchanged between distributed computer systems. ASN.1 defines data units independently of system architecture. Because of this, ASN.1 is used to generate programming language code that forms the core of a wide variety of messaging systems applications, including ITU-T Recommendation H.323.
The ITU-T Recommendation H.323 is a group of specifications defining the operation of a multimedia communication system over packet networks. The ITU-T Recommendation H.323 specifies H.245 control signaling for negotiation of media channel usage, Q.931 (H.225.0) for call signaling and call setup, H.225.0 Registration, Admission, and Status (RAS), H.450 for supplementary services, and RTP/RTCP for sequencing audio and video packets. An exemplary system implementing the Recommendation H.323 is the HiPath™ 5500 system, available from Siemens Information and Communication Networks, Inc.
H.323-based systems use ASN.1 coded messages and protocol state machines for describing the application protocol data units (APDU) or packets of data used for signaling between H.323 endpoints, servers, gateways, and gatekeepers.
The processing of H.323 ASN.1 messages is typically implemented in a protocol stack, and its functions are accessed by application programs through application programming interfaces (API). The software primitives of the APIs are typically written with programming languages, such as C, C++, and Java, and all the associated parameters are expressed and declared in the corresponding language.
Whenever new features, such as new parameters or completely new supplementary services are added to the protocol stack of a software product, such as an H.323 application, software changes must be done in three layers: new functional entities must be added to the protocol stack; new parameters or programming primitives must be added to the API; and applications and their user interfaces must be changed or enhanced to allow user access to the new features. Each operation carried out by the new feature must be callable via an API that must be explicitly exported to the application. The changes must be made at the source code level, and the new software system must be recompiled and linked together and loaded to the customer's target system.
Thus, changes and additions to the software require replacement of the software in the target system. While software can be downloaded remotely, an interruption of the target system's operation occurs, which can hinder the simple “plugging in” of new features to the system.
Moreover, unless the API is modified, the application cannot access new features. Thus, even relatively small changes and additions to the signaling protocols and related protocol stacks require relatively high development effort, since the API source code must be modified.
Therefore, there is a need for an improved method for updating the protocol stack of an API based software product. There is particularly a need for an improved method for updating the processing of ASN.1 messages in an H.323 telecommunications system.
Further, as is known, H.225 messages are used for call signaling to establish a connection between endpoints. Initially, an H.225.0 RAS (registration, admission, status) channel is established between an endpoint and a gatekeeper (in the gatekeeper-routed call model). After the RAS signaling channel is established, an H.225.0 call signaling channel is established between endpoints. H.225.0 call signaling messages include SETUP, ALERTING, CONNECT, RELEASE COMPLETE, and FACILITY. The user-user information element of an H.225 message can carry an H.450 APDU (application protocol data unit) for H.450 supplementary services. Such services are call-related services beyond the basic call and can include Call Forwarding, Call Transfer, Call Waiting, Message Waiting Indication, Conference, and the like.
As can be appreciated, newly implemented H.450 supplementary service features must be tested with all possible normal and exceptional events. To perform these tests, various H.450 messages must be sent and received by the endpoints. As such, there is a need for a system and method for sending, receiving, and displaying such test messages.